<?php include DIR_ROOT."dao/include_dao.php" ?>
<?php include DIR_ROOT."clases/db.class.php" ?>
<?php include DIR_ROOT."libs/xajax/xajax_core/xajax.inc.php" ?>
<?php include DIR_ROOT."clases/mensaje.class.php" ?>
<?php include DIR_ROOT."clases/modal_dialog.class.php" ?>
<?php

//Este if es para programar lo que se hará con las CUENTAS cuando se recargue la página
if (isset($_POST["accion"])) {
	
	if ($_POST["accion"] == INSERTAR || $_POST["accion"] == MODIFICAR) {
		$sicCuenta = new SicCuenta();
		$sicCuenta->codigoCuenta = $_POST["codigo_cuenta"];
		$sicCuenta->nombreCuenta = $_POST["nombre_cuenta"];
		$sicCuenta->descripcionCuenta = $_POST["descripcion_cuenta"];
		$sicCuenta->sicGrupoIdGrupo = $_POST["id_grupo"];
	
		if ($_POST["caso"] == 0)
			$sicCuenta->sicCuentasIdCuenta = $_POST["id_cuenta_padre"];
		else 
			$sicCuenta->sicCuentasIdCuenta = NULL;
	}
	
	try
	{
		if ($_POST["accion"] == INSERTAR) {
			DAOFactory::getSicCuentasDAO()->insert($sicCuenta);
			$msg = "La cuenta se <b>AGREGÓ</b> satisfactoriamente.";	
		}
		if ($_POST["accion"] == MODIFICAR) {
			$sicCuenta->idCuenta = $_POST["id_cuenta"];
			DAOFactory::getSicCuentasDAO()->update($sicCuenta);
			$msg = "La cuenta se <b>MODIFICÓ</b> satisfactoriamente.";
		}
		if ($_POST["accion"] == ELIMINAR) {
			DAOFactory::getSicCuentasDAO()->delete($_POST["id_cuenta"]);
			$msg = "La cuenta se <b>ELIMINÓ</b> satisfactoriamente.";
		}
	}
	catch(Exception $e)
	{}
	
	//header('Location: '.$_SERVER["PHP_SELF"]);
	
}

//Este if es para programar lo que se hará con las CLASES cuando se recargue la página
if (isset($_POST["accion_clases"])) {
	
	if ($_POST["accion_clases"] == INSERTAR || $_POST["accion_clases"] == MODIFICAR) {
		$sicClase = new SicClase();
		$sicClase->idClase = $_POST["id_clase"];
		$sicClase->nombreClase = $_POST["nombre_clase"];
	}
	
	try
	{
		if ($_POST["accion_clases"] == INSERTAR) {
			DAOFactory::getSicClaseDAO()->insert($sicClase);
			$msg = "La Clase se <b>AGREGÓ</b> satisfactoriamente.";
		}
		if ($_POST["accion_clases"] == MODIFICAR) {
			DAOFactory::getSicClaseDAO()->update($sicClase);
			$msg = "La Clase se <b>MODIFICÓ</b> satisfactoriamente.";
		}
		if ($_POST["accion_clases"] == ELIMINAR) {
			DAOFactory::getSicClaseDAO()->delete($_POST["id_clase"]);
			$msg = "La Clase se <b>ELIMINÓ</b> satisfactoriamente.";
		}
	}
	catch(Exception $e)
	{}
	
	
}

//Este if es para programar lo que se hará con las GRUPOS cuando se recargue la página
if (isset($_POST["accion_grupos"])) {
	
	if ($_POST["accion_grupos"] == INSERTAR || $_POST["accion_grupos"] == MODIFICAR) {
		$sicGrupo = new SicGrupo();
		$sicGrupo->nombreGrupo = $_POST["nombre_grupo"];
		$sicGrupo->sicClaseIdClase = $_POST["id_clase"];
	}
	
	try
	{
		if ($_POST["accion_grupos"] == INSERTAR) {
			DAOFactory::getSicGrupoDAO()->insert($sicGrupo);
			$msg = "El Rubro se <b>AGREGÓ</b> satisfactoriamente.";	
		}
		if ($_POST["accion_grupos"] == MODIFICAR) {
			$sicGrupo->idGrupo = $_POST["id_grupo"];
			DAOFactory::getSicGrupoDAO()->update($sicGrupo);
			$msg = "La cuenta se <b>MODIFICÓ</b> satisfactoriamente.";
		}
		if ($_POST["accion_grupos"] == ELIMINAR) {
			DAOFactory::getSicGrupoDAO()->delete($_POST["id_grupo"]);
			$msg = "La cuenta se <b>ELIMINÓ</b> satisfactoriamente.";
		}
	}
	catch(Exception $e)
	{}
	
	//header('Location: '.$_SERVER["PHP_SELF"]);
	
}

$clases = BaseDeDatos::SELECT("* FROM sic_clase");

$xajax = new xajax();
$xajax->configure('javascript URI','../libs/xajax');
$xajax->register(XAJAX_FUNCTION, "agregar_cuenta");
$xajax->register(XAJAX_FUNCTION, "modificar_cuenta");
$xajax->register(XAJAX_FUNCTION, "eliminar_cuenta");

$xajax->register(XAJAX_FUNCTION, "agregar_clase");
$xajax->register(XAJAX_FUNCTION, "modificar_clase");
$xajax->register(XAJAX_FUNCTION, "eliminar_clase");

$xajax->register(XAJAX_FUNCTION, "agregar_rubro");
$xajax->register(XAJAX_FUNCTION, "modificar_rubro");
$xajax->register(XAJAX_FUNCTION, "eliminar_rubro");

$xajax->processRequest();

function agregar_cuenta($id_cuenta_padre, $nombre_cuenta, $caso, $id_grupo)
{
	$respuesta = new xajaxResponse();
	
	$codigo = DAOFactory::getSicCuentasDAO()->obtenerCodigoCuentaMaxima($id_cuenta_padre, $caso);
	
	
	$modalDialog = new ModalDialog();
	$modalDialog->icon = 'fa fa-plus';
	$modalDialog->titulo = 'Agregar Cuenta';
	$modalDialog->cuerpo = '<div class="row row-form">
		                     	<label class="col-lg-4 text-right vertical_center">Cuenta Superior:</label>
		                        <div class="col-lg-6">                                    
		                        	<input name="cuenta_padre" type="text" class="form-control" disabled value="'.$nombre_cuenta.'">
		                        	<input name="id_cuenta_padre" type="hidden" value="'.$id_cuenta_padre.'" >
		                        </div>
		                     </div>
		                     <div class="row row-form">
		                     	<label class="col-lg-4 text-right vertical_center">Código:</label>
		                        <div class="col-lg-6">                                    
		                        	<input type="text" class="form-control" disabled value="'.$codigo.'">
		                        	<input type="hidden" name="codigo_cuenta" value="'.$codigo.'">
		                        </div>
		                     </div>
		                     <div class="row row-form">
		                     	<label class="col-lg-4 text-right vertical_center">Nombre:</label>
		                        <div class="col-lg-6">                                    
		                        	<input name="nombre_cuenta" type="text" class="form-control" required placeholder="Escriba el nombre de la cuenta" >
		                        </div>
		                     </div>
		                     <div class="row row-form">
		                     	<label class="col-lg-4 text-right vertical_center">Descripción:</label>
		                        <div class="col-lg-6">                                    
		                        	<textarea class="form-control" name="descripcion_cuenta" style="resize: none" cols="20" rows="4"></textarea>
		                        </div>
		                     </div>';
	$modalDialog->pie = '<button type="submit" class="btn btn-primary"><i class="fa fa-plus"></i> Agregar</button>
			             <button type="button" class="btn btn-danger pull-left" data-dismiss="modal"><i class="fa fa-times"></i> Cancelar</button>
						 <input name="accion" type="hidden" value="'.INSERTAR.'">
			             <input name="id_grupo" type="hidden" value="'.$id_grupo.'">
			             <input name="caso" type="hidden" value="'.$caso.'">';
	$modalDialog->actionForm = MISMA_PAGINA;
	
	$respuesta->assign("agregar-cuenta-modal", "innerHTML", $modalDialog->show());
	return $respuesta;
}

function modificar_cuenta($id_cuenta, $caso)
{
	$respuesta = new xajaxResponse();
	
	$cuenta = BaseDeDatos::SELECT_UNICO("* FROM sic_cuentas WHERE id_cuenta = $id_cuenta");
	
	if ($caso === 1) 
		$nombre_cuenta_padre = BaseDeDatos::SELECT_UNICO("* FROM sic_grupo WHERE id_grupo = $cuenta->sic_grupo_id_grupo")->nombre_grupo;
	else 
		$nombre_cuenta_padre = BaseDeDatos::SELECT_UNICO("* FROM sic_cuentas WHERE id_cuenta = $cuenta->sic_cuentas_id_cuenta")->nombre_cuenta;
	
	$modalDialog = new ModalDialog();
	$modalDialog->icon = 'fa fa-pencil';
	$modalDialog->titulo = 'Modificar Cuenta';
	$modalDialog->cuerpo = '<div class="row row-form">
		                     	<label class="col-lg-4 text-right vertical_center">Cuenta Superior:</label>
		                        <div class="col-lg-6">                                    
		                        	<input name="cuenta_padre" type="text" class="form-control" disabled value="'.$nombre_cuenta_padre.'">
		                        	<input name="id_cuenta_padre" type="hidden" value="'.$cuenta->sic_cuentas_id_cuenta.'" >
		                        </div>
		                     </div>
		                     <div class="row row-form">
		                     	<label class="col-lg-4 text-right vertical_center">Código:</label>
		                        <div class="col-lg-6">                                    
		                        	<input type="text" class="form-control" disabled value="'.$cuenta->codigo_cuenta.'">
		                        	<input type="hidden" name="codigo_cuenta" value="'.$cuenta->codigo_cuenta.'">
		                        </div>
		                     </div>
		                     <div class="row row-form">
		                     	<label class="col-lg-4 text-right vertical_center">Nombre:</label>
		                        <div class="col-lg-6">                                    
		                        	<input name="nombre_cuenta" type="text" class="form-control" required value="'.$cuenta->nombre_cuenta.'" placeholder="Escriba el nombre de la cuenta" >
		                        </div>
		                     </div>
		                     <div class="row row-form">
		                     	<label class="col-lg-4 text-right vertical_center">Descripción:</label>
		                        <div class="col-lg-6">                                    
		                        	<textarea class="form-control" name="descripcion_cuenta" style="resize: none" cols="20" rows="4">'.$cuenta->descripcion_cuenta.'</textarea>
		                        </div>
		                     </div>';
	$modalDialog->pie = '<button type="submit" class="btn btn-primary"><i class="fa fa-pencil"></i> Modificar</button>
			             <button type="button" class="btn btn-danger pull-left" data-dismiss="modal"><i class="fa fa-times"></i> Cancelar</button>
						<input name="accion" type="hidden" value="'.MODIFICAR.'">
						<input name="caso" type="hidden" value="'.$caso.'">
						<input name="id_grupo" type="hidden" value="'.$cuenta->sic_grupo_id_grupo.'">
						<input name="id_cuenta" type="hidden" value="'.$id_cuenta.'">';
	$modalDialog->actionForm = MISMA_PAGINA;
	
	$respuesta->assign("modificar-cuenta-modal", "innerHTML", $modalDialog->show());
	return $respuesta;
}

function eliminar_cuenta($id_cuenta)
{
	$respuesta = new xajaxResponse();
	
	$nombre_cuenta = BaseDeDatos::SELECT_UNICO("* FROM sic_cuentas WHERE id_cuenta = $id_cuenta")->nombre_cuenta;
	
	$modalDialog = new ModalDialog();
	$modalDialog->icon = 'fa fa-trash-o';
	$modalDialog->titulo = 'Eliminar Cuenta';
	$modalDialog->cuerpo = '<div class="row row-form text-center" style="font-size: 120%;">
		                     	¿Está seguro que desea eliminar la cuenta "'.$nombre_cuenta.'"?
		                     </div>';
	$modalDialog->pie = '<button type="submit" class="btn btn-primary"><i class="fa fa-trash-o"></i> Eliminar</button>
			             <button type="button" class="btn btn-danger pull-left" data-dismiss="modal"><i class="fa fa-times"></i> Cancelar</button>
						<input name="accion" type="hidden" value="'.ELIMINAR.'">
						<input name="id_cuenta" type="hidden" value="'.$id_cuenta.'">';
	$modalDialog->actionForm = MISMA_PAGINA;
	
	$respuesta->assign("eliminar-cuenta-modal", "innerHTML", $modalDialog->show());
	return $respuesta;
}


// mi parte wen :D

function agregar_rubro($id_clase)
{
	$respuesta = new xajaxResponse();
		
	$codigo_max = DAOFactory::getSicGrupoDAO()->obtenerMaxId($id_clase);
	$codigo_max++;
	
	$nombre_clase = BaseDeDatos::SELECT_UNICO("* FROM sic_clase WHERE id_clase = $id_clase")->nombre_clase;
	
	$modalDialog = new ModalDialog();
	$modalDialog->icon = 'fa fa-plus';
	$modalDialog->titulo = 'Agregar Grupo';
	$modalDialog->cuerpo = '<div class="row row-form">
		                     	<label class="col-lg-4 text-right vertical_center">Código:</label>
		                        <div class="col-lg-6">                                    
		                        	<input type="text" class="form-control" disabled value="'.$id_clase.$codigo_max.'">
		                        	<input type="hidden" name="id_clase" value="'.$id_clase.'">
		                        	
		                        </div>
		                     </div>
		                     
		                     <div class="row row-form">
		                     	<label class="col-lg-4 text-right vertical_center">Nombre:</label>
		                        <div class="col-lg-6">                                    
		                        	<input name="nombre_grupo" type="text" class="form-control" required placeholder="Escriba el nombre del grupo" >
		                        </div>
		                     </div>		                     
		                     <div class="row row-form">
		                     	<label class="col-lg-4 text-right vertical_center">Clase:</label>
		                        <div class="col-lg-6">                                    
		                        	<input type="text" class="form-control" disabled value="'.$nombre_clase.'">
		                        </div>
		                     </div>'
							 ;
	$modalDialog->pie = '<button type="submit" class="btn btn-primary"><i class="fa fa-plus"></i> Agregar</button>
			             <button type="button" class="btn btn-danger pull-left" data-dismiss="modal"><i class="fa fa-times"></i> Cancelar</button>
						 <input name="accion_grupos" type="hidden" value="'.INSERTAR.'">';
	$modalDialog->actionForm = MISMA_PAGINA;
	
	$respuesta->assign("agregar-grupo-modal", "innerHTML", $modalDialog->show());
	return $respuesta;
}

function modificar_rubro($id_grupo, $id_clase, $nombre_clase)
{
	$respuesta = new xajaxResponse();
	
	$rubro = BaseDeDatos::SELECT_UNICO("* FROM sic_grupo WHERE id_grupo = $id_grupo");
	
	$codigo_max = DAOFactory::getSicGrupoDAO()->obtenerMaxId($id_clase);
	
	$nombre_rubro = $rubro->nombre_grupo;
	
	$modalDialog = new ModalDialog();
	$modalDialog->icon = 'fa fa-pencil';
	$modalDialog->titulo = 'Modificar Grupo';
	$modalDialog->cuerpo = '<div class="row row-form">
		                     	<label class="col-lg-4 text-right vertical_center">Código:</label>
		                        <div class="col-lg-6">                                    
		                        	<input type="text" class="form-control" disabled value="'.$id_clase.$codigo_max.'">
		                        	<input type="hidden" name="id_clase" value="'.$id_clase.'">
		                        	
		                        </div>
		                     </div>
		                     
		                     <div class="row row-form">
		                     	<label class="col-lg-4 text-right vertical_center">Nombre:</label>
		                        <div class="col-lg-6">                                    
		                        	<input name="nombre_grupo" type="text" class="form-control" value="'.$nombre_rubro.'" required placeholder="Escriba el nombre del grupo" >
							    </div>
		                     </div>		                     
		                     <div class="row row-form">
		                     	<label class="col-lg-4 text-right vertical_center">Clase:</label>
		                        <div class="col-lg-6">                                    
		                        	<input type="text" class="form-control" disabled value="'.$nombre_clase.'">
		                        	<input type="hidden" name="id_grupo" value="'.$id_grupo.'">
		                        </div>
		                     </div>'
							 ;
	$modalDialog->pie = '<button type="submit" class="btn btn-primary"><i class="fa fa-plus"></i> Modificar</button>
			             <button type="button" class="btn btn-danger pull-left" data-dismiss="modal"><i class="fa fa-times"></i> Cancelar</button>
						 <input name="accion_grupos" type="hidden" value="'.MODIFICAR.'">';
	$modalDialog->actionForm = MISMA_PAGINA;
	
	$respuesta->assign("modificar-grupo-modal", "innerHTML", $modalDialog->show());
	return $respuesta;
	}

function eliminar_rubro($id_grupo)
{
	$respuesta = new xajaxResponse();
	
	$nombre_rubro = BaseDeDatos::SELECT_UNICO("* FROM sic_grupo WHERE id_grupo = $id_grupo")->nombre_grupo;
	
	$modalDialog = new ModalDialog();
	$modalDialog->icon = 'fa fa-trash-o';
	$modalDialog->titulo = 'Eliminar Grupo';
	$modalDialog->cuerpo = '<div class="row row-form text-center" style="font-size: 120%;">
		                     	¿Está seguro que desea eliminar El Rubro "'.$nombre_rubro.'"?
		                     </div>';
	$modalDialog->pie = '<button type="submit" class="btn btn-primary"><i class="fa fa-trash-o"></i> Eliminar</button>
			             <button type="button" class="btn btn-danger pull-left" data-dismiss="modal"><i class="fa fa-times"></i> Cancelar</button>
						<input name="accion_grupos" type="hidden" value="'.ELIMINAR.'">
						<input name="id_grupo" type="hidden" value="'.$id_grupo.'">';
	$modalDialog->actionForm = MISMA_PAGINA;
	
	$respuesta->assign("eliminar-grupo-modal", "innerHTML", $modalDialog->show());
	return $respuesta;
}

// parte bea

function agregar_clase()
{
	$respuesta = new xajaxResponse();
		
	$codigo_max = DAOFactory::getSicClaseDAO()->obtenerMaxId();
	$codigo_max++;
	
	$modalDialog = new ModalDialog();
	$modalDialog->icon = 'fa fa-plus';
	$modalDialog->titulo = 'Agregar Clase';
	$modalDialog->cuerpo = '<div class="row row-form">
		                     	<label class="col-lg-4 text-right vertical_center">Código:</label>
		                        <div class="col-lg-6">                                    
		                        	<input type="text" class="form-control" disabled value="'.$codigo_max.'">
		                        	<input type="hidden" name="id_clase" value="'.$codigo_max.'">
		                        </div>
		                     </div>
		                     <div class="row row-form">
		                     	<label class="col-lg-4 text-right vertical_center">Nombre:</label>
		                        <div class="col-lg-6">                                    
		                        	<input name="nombre_clase" type="text" class="form-control" required placeholder="Escriba el nombre de la clase" >
		                        </div>
		                     </div>';
	$modalDialog->pie = '<button type="submit" class="btn btn-primary"><i class="fa fa-plus"></i> Agregar</button>
			             <button type="button" class="btn btn-danger pull-left" data-dismiss="modal"><i class="fa fa-times"></i> Cancelar</button>
						 <input name="accion_clases" type="hidden" value="'.INSERTAR.'">';
	$modalDialog->actionForm = MISMA_PAGINA;
	
	$respuesta->assign("agregar-clase-modal", "innerHTML", $modalDialog->show());
	return $respuesta;
}

function modificar_clase($id_clase)
{
	$respuesta = new xajaxResponse();
	
	$clase = BaseDeDatos::SELECT_UNICO("* FROM sic_clase WHERE id_clase = $id_clase");
	
	$modalDialog = new ModalDialog();
	$modalDialog->icon = 'fa fa-pencil';
	$modalDialog->titulo = 'Modificar Clase';
	$modalDialog->cuerpo = '<div class="row row-form">
		                     	<label class="col-lg-4 text-right vertical_center">Código:</label>
		                        <div class="col-lg-6">                                    
		                        	<input type="text" class="form-control" disabled value="'.$clase->id_clase.'">
		                        	<input type="hidden" name="id_clase" value="'.$clase->id_clase.'">
		                        </div>
		                     </div>
		                     <div class="row row-form">
		                     	<label class="col-lg-4 text-right vertical_center">Nombre:</label>
		                        <div class="col-lg-6">                                    
		                        	<input name="nombre_clase" type="text" class="form-control" required value="'.$clase->nombre_clase.'" placeholder="Escriba el nombre de la clase" >
		                        </div>
		                     </div>';
	$modalDialog->pie = '<button type="submit" class="btn btn-primary"><i class="fa fa-pencil"></i> Modificar</button>
			             <button type="button" class="btn btn-danger pull-left" data-dismiss="modal"><i class="fa fa-times"></i> Cancelar</button>
						 <input name="accion_clases" type="hidden" value="'.MODIFICAR.'">';
	$modalDialog->actionForm = MISMA_PAGINA;
	
	$respuesta->assign("modificar-clase-modal", "innerHTML", $modalDialog->show());
	return $respuesta;
}

function eliminar_clase($id_clase)
{
	$respuesta = new xajaxResponse();
	
	$nombre_clase = BaseDeDatos::SELECT_UNICO("* FROM sic_clase WHERE id_clase = $id_clase")->nombre_clase;
	
	$modalDialog = new ModalDialog();
	$modalDialog->icon = 'fa fa-trash-o';
	$modalDialog->titulo = 'Eliminar Clase';
	$modalDialog->cuerpo = '<div class="row row-form text-center" style="font-size: 120%;">
		                     	¿Está seguro que desea eliminar la clase "'.$nombre_clase.'"?
		                     </div>';
	$modalDialog->pie = '<button type="submit" class="btn btn-primary"><i class="fa fa-trash-o"></i> Eliminar</button>
			             <button type="button" class="btn btn-danger pull-left" data-dismiss="modal"><i class="fa fa-times"></i> Cancelar</button>
						<input name="accion_clases" type="hidden" value="'.ELIMINAR.'">
						<input name="id_clase" type="hidden" value="'.$id_clase.'">';
	$modalDialog->actionForm = MISMA_PAGINA;
	
	$respuesta->assign("eliminar-clase-modal", "innerHTML", $modalDialog->show());
	return $respuesta;
}


?>